package day18_Reflection.demo02_Reflection;
//获取Class对象
/*
通过反射使用一个类,需要获取该类字节码文件,也就是类型为Class的对象
获取方式
1.使用该类的class属性来获取对应的Class对象,
2.调用该类的getClass()方法,返回该对象所属类对用的Class对象
	该方法是Object中的方法,所有类都可以调动
3.使用Class中的静态方法forName(String className),该方法需要传入String参数,参数是某个类完整的包名

 */
public class Test {
    //获取Class对象
    public static void main(String[] args) throws Exception{
        //方法1   使用该类的class属性来获取对应的Class对象
        Class<User> userClass = User.class;
        System.out.println(userClass);
        //方法2   调用该类的getClass()方法,返回该对象所属类对用的Class对象
        //	该方法是Object中的方法,所有类都可以调动
        User user = new User();
        Class<? extends User> aClass = user.getClass();
        System.out.println(aClass);
        //方法3  使用Class中的静态方法forName(String className),该方法需要传入String参数,参数是某个类完整的包名
        Class<?> aClass1 = Class.forName("day18_Reflection.demo02_Reflection.User");
        System.out.println(aClass);
        //常用第三种和第一种
    }
}
